'''
    "TCompTDB": {
      "zndtuTDB":{
          "host":"iot.zn-power.com",
          "port":30111,
          "token":"Basic cm9vdDpoaHVjMTExNQ==",
          "sqlPath": "{rootPath}/datas/sqls/tdb/zndtu"
      }
    },
    "TCompRedis": {
      "znRedis":{
        "host":"iot.zn-power.com",
        "port":30105,
        "pwd":"hhu1115",
        "db":4
      }
    },
'''

'''
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ redis==5.0.8
'''
import redis


class TRedisUtils:
    def __init__(self):
        pass
    @staticmethod
    def getRedisClient(  host , port , pwd , db=""):
        status = 0
        res = None
        try:

            r = redis.StrictRedis(
                host=host ,
                port=port ,
                # password=ps['password'],
                db=db
            )
            if r.ping():
                status = 1
                res = r
        except Exception as er:
            print(er)
        return status , res
    @staticmethod
    def writeRedisHash(  client, dataPath , dictData):
        try:
            if client !=None:
                client.hmset(dataPath , dictData)
        except Exception as er:
            print('&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&')
            print('write redis error.',er)
            print('key:' , dataPath)
            print('data:' , dictData)
            print('&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&')
    @staticmethod
    def readRedisHash( client,  dataPath ):
        res ={}
        try:
            if client !=None:
                res =  client.hgetall(dataPath)
        except Exception as er:
            print('&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&')
            print('read redis error.',er)
            print('key:' , dataPath)
            print('&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&')
        return res
    @staticmethod
    def readRedisValue(client , dataPath , key):
        res = ""
        try:
            if client !=None:
                res = client.hmget(dataPath , key)
        except Exception as er:
            print('&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&')
            print('read redis error.',er)
            print('key:' , dataPath)
            print('&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&')
        return res

